Creating your own themes
========================

BlockForge allows you to customize most parts of the game by
Themes. Themes are files in the "Themes" folder, which should
be in your BlockForge folder.

The parts that can be customized with themes are:

¥ In-game interface and graphics
¥ Backgrounds
¥ Look of blocks (Tilesets)
¥ In-game sound effects

To create your own theme, you need:

¥ ResEdit (available free from Apple), or other resource editor
¥ Some graphics editor
¥ (Optionally also a sound editor for creating sounds)

There is one theme included with the game, the "Default Theme".
Open it with ResEdit to see how it works.

Theme Files
===========

Theme files have creator "BFrg" and type "ModÄ".
Requiced contents of a theme file:

¥ tls# resource 128           <-- List of Tilesets
¥ bgp# resource 128           <-- List of background images
¥ PICT resources 500 and 501  <-- Interface graphic and mask
¥ PICT resource 504           <-- "Game Paused" picture
¥ PICT resource 505           <-- "Game Over" picture

Templates for these two resources are included with the Default
Theme.
Both of these resources are lists of PICT resource ID numbers.
For each ID number there should be corresponding PICT resources.
Look the default for example of this.

For each tls# entry, you should include a string in STR# resource
ID 128. Look the default theme for an example.

Optional contents of a theme file:

¥ snd  resources 200-208  <-- Replacements for built-in sound effects

Sample file structure
=====================

Here is the structure of "Default Theme" file:

Resource "tls#" ID = 128    <-- List of tilests
---1# = 506
---2# = 507
Resource "bgp#" ID = 128    <-- List of background pictures
---1# = 600
---2# = 601
---3# = 602
---4# = 603
Resource "STR# ID = 128     <-- Contains names for Tilesets
---1# = "Default Tiles"
---2# = "Diamond Tiles"
Resource "PICT" ID = 500    <-- Interface
Resource "PICT" ID = 501    <-- Mask for interface
Resource "PICT" ID = 506    <-- Contains picture of Tileset
Resource "PICT" ID = 507    <-- Contains picture of Tileset
Resource "PICT" ID = 600    <-- Contains background picture
Resource "PICT" ID = 601    <-- Contains background picture
Resource "PICT" ID = 602    <-- Contains background picture
Resource "PICT" ID = 603    <-- Contains background picture
Resource "snd " ID = 200    <-- Sound effect for piece drop
Resource "snd " ID = 201    <-- Sound effect for zapping 1 row
Resource "snd " ID = 202    <-- Sound effect for zapping 2 rows
Resource "snd " ID = 203    <-- Sound effect for zapping 3 rows
Resource "snd " ID = 204    <-- Sound effect for zapping 4 rows
Resource "snd " ID = 205    <-- Sound effect for highscore
Resource "snd " ID = 206    <-- Sound effect for completing level
Resource "snd " ID = 207    <-- Sound effect for game over
Resource "snd " ID = 208    <-- Sound effect for pausing game

-----------
That's all. Just look at the "Default Theme" with your ResEdit for example.